home *** CD-ROM | disk | FTP | other *** search
Wrap
<?xml version="1.0" encoding="UTF-8"?> <!-- gtksourceview/language-specs/sql.lang --> <!-- gtksourceview SQL language specification --> <!-- Copyright © 2003, 2005 Evert Verhellen --> <!-- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. --> <!-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. --> <!-- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. --> <!DOCTYPE language SYSTEM "language.dtd"> <language _name="SQL" version="1.0" _section="Sources" mimetypes="text/x-sql"> <escape-char>\</escape-char> <!-- Datatypes --> <keyword-list _name="Oracle Built-in Datatypes" style="Data Type" case-sensitive="FALSE"> <keyword>N?VARCHAR2</keyword> <keyword>NUMBER</keyword> <keyword>LONG</keyword> <keyword>DATE</keyword> <keyword>TIMESTAMP</keyword> <keyword>INTERVAL</keyword> <keyword>(LONG[ \t\n]+)?RAW</keyword> <keyword>U?ROWID</keyword> <keyword>N?CHAR</keyword> <keyword>(N?C|B)LOB</keyword> <keyword>BFILE</keyword> <keyword>BINARY_(FLOAT|DOUBLE)</keyword> </keyword-list> <keyword-list _name="ANSI Datatypes" style="Data Type" case-sensitive="FALSE"> <keyword>(NATIONAL[ \t\n]+)?CHAR(ACTER)?([ \t\n]+VARYING)?</keyword> <keyword>NCHAR([ \t\n]+VARYING)?</keyword> <keyword>NUMERIC|DECIMAL</keyword> <keyword>INTEGER|INT|SMALLINT</keyword> <keyword>FLOAT|DOUBLE[ \t\n]+PRECISION|REAL</keyword> </keyword-list> <keyword-list _name="SQL/DS and DB2 Datatypes" style="Data Type" case-sensitive="FALSE"> <keyword>CHARACTER</keyword> <keyword>(LONG[ \t\n]+)?VARCHAR</keyword> <keyword>DECIMAL</keyword> <keyword>INTEGER|SMALLINT</keyword> <keyword>FLOAT</keyword> </keyword-list> <keyword-list _name="Oracle-Supplied Types" style="Data Type" case-sensitive="FALSE"> <keyword>SYS\.ANY(TYPE|DATA(SET)?)</keyword> <keyword>XMLType</keyword> <keyword>(HTTP|XDB|DB)?URIType</keyword> <keyword>(MDSYS\.)?SDO_((TOPO_)?GEOMETRY|GEORASTER)</keyword> <keyword>ORDSYS\.ORD(Audio|Doc|Image(Signature)?|Video)</keyword> <keyword>SI_(StillImage|(Average|Positional)?Color|ColorHistogram|Texture|FeatureList)</keyword> </keyword-list> <!-- Literals --> <string _name="Text Literals" style="String" end-at-line-end="FALSE"> <start-regex>([Nn]?[Qq]?|[Uu]?)'</start-regex> <end-regex>'</end-regex> </string> <pattern-item _name="Integer Literals" style="Decimal"> <regex>\b[0-9]+\b</regex> </pattern-item> <pattern-item _name="Number Literals" style="Floating Point"> <regex>(\b[0-9]+(\.[0-9]+)?|\.[0-9]+)([Ee][\+-]?[0-9]+)?\b</regex> </pattern-item> <pattern-item _name="Size Clause" style="Decimal"> <regex>\b[0-9]+[ \t]*([Kk]|[Mm]|[Gg]|[Tt])\b</regex> </pattern-item> <keyword-list _name="Unlimited" style="Decimal" case-sensitive="FALSE"> <keyword>UNLIMITED</keyword> </keyword-list> <keyword-list _name="Null" style="Decimal" case-sensitive="FALSE"> <keyword>NULL</keyword> </keyword-list> <!-- Comments --> <block-comment _name="Block Comment" style="Comment"> <start-regex>/\*</start-regex> <end-regex>\*/</end-regex> </block-comment> <line-comment _name="Line Comment" style="Comment"> <start-regex>--</start-regex> </line-comment> <!-- Functions --> <!-- Single-Row Functions --> <keyword-list _name="Numeric Functions" style="Function" case-sensitive="FALSE"> <keyword>ABS</keyword> <keyword>A(COS|SIN|TAN2?)</keyword> <keyword>BITAND</keyword> <keyword>CEIL</keyword> <keyword>(COS|SIN|TAN)H?</keyword> <keyword>EXP</keyword> <keyword>FLOOR</keyword> <keyword>LN</keyword> <keyword>LOG</keyword> <keyword>MOD</keyword> <keyword>NANVL</keyword> <keyword>POWER</keyword> <keyword>REMAINDER</keyword> <keyword>ROUND</keyword> <keyword>SIGN</keyword> <keyword>SQRT</keyword> <keyword>TRUNC</keyword> <keyword>WIDTH_BUCKET</keyword> </keyword-list> <keyword-list _name="Character Functions Returning Character Values" style="Function" case-sensitive="FALSE"> <keyword>N?CHR</keyword> <keyword>CONCAT</keyword> <keyword>(NLS_)?(INITCAP|LOWER|UPPER)</keyword> <keyword>(L|R)PAD</keyword> <keyword>(L|R)?TRIM</keyword> <keyword>NLSSORT</keyword> <keyword>REGEXP_(REPLACE|SUBSTR)</keyword> <keyword>REPLACE</keyword> <keyword>SOUNDEX</keyword> <keyword>SUBSTR</keyword> <keyword>TRANSLATE</keyword> <keyword>TREAT</keyword> </keyword-list> <keyword-list _name="NLS Character Functions" style="Function" case-sensitive="FALSE"> <keyword>NLS_CHARSET_DECL_LEN</keyword> <keyword>NLS_CHARSET_(ID|NAME)</keyword> </keyword-list> <keyword-list _name="Character Functions Returning Number Values" style="Function" case-sensitive="FALSE"> <keyword>ASCII</keyword> <keyword>INSTR</keyword> <keyword>LENGTH</keyword> <keyword>REGEXP_INSTR</keyword> </keyword-list> <keyword-list _name="Datetime Functions" style="Function" case-sensitive="FALSE"> <keyword>ADD_MONTHS</keyword> <keyword>CURRENT_(DATE|TIMESTAMP)</keyword> <keyword>DBTIMEZONE</keyword> <keyword>EXTRACT</keyword> <keyword>FROM_TZ</keyword> <keyword>(LAST|NEXT)_DAY</keyword> <keyword>LOCALTIMESTAMP</keyword> <keyword>MONTHS_BETWEEN</keyword> <keyword>NEW_TIME</keyword> <keyword>NUMTO(DS|YM)INTERVAL</keyword> <keyword>ROUND</keyword> <keyword>SESSIONTIMEZONE</keyword> <keyword>SYS_EXTRACT_UTC</keyword> <keyword>SYS(DATE|TIMESTAMP)</keyword> <keyword>TO_CHAR</keyword> <keyword>TO_(DS|YM)INTERVAL</keyword> <keyword>TO_TIMESTAMP(_TZ)?</keyword> <keyword>TRUNC</keyword> <keyword>TZ_OFFSET</keyword> </keyword-list> <keyword-list _name="General Comparison Functions" style="Function" case-sensitive="FALSE"> <keyword>GREATEST</keyword> <keyword>LEAST</keyword> </keyword-list> <keyword-list _name="Conversion Functions" style="Function" case-sensitive="FALSE"> <keyword>ASCIISTR</keyword> <keyword>BIN_TO_NUM</keyword> <keyword>CAST</keyword> <keyword>CHARTOROWID</keyword> <keyword>(DE)?COMPOSE</keyword> <keyword>CONVERT</keyword> <keyword>HEXTORAW</keyword> <keyword>NUMTO(DS|YM)INTERVAL</keyword> <keyword>RAWTON?HEX</keyword> <keyword>ROWIDTON?CHAR</keyword> <keyword>SCN_TO_TIMESTAMP</keyword> <keyword>TIMESTAMP_TO_SCN</keyword> <keyword>TO_BINARY_(DOUBLE|FLOAT)</keyword> <keyword>TO_N?(CHAR|CLOB)</keyword> <keyword>TO_DATE</keyword> <keyword>TO_(DS|YM)INTERVAL</keyword> <keyword>TO_LOB</keyword> <keyword>TO_(MULTI|SINGLE)_BYTE</keyword> <keyword>TO_NUMBER</keyword> <keyword>TRANSLATE</keyword> <keyword>UNISTR</keyword> </keyword-list> <keyword-list _name="Large Object Functions" style="Function" case-sensitive="FALSE"> <keyword>BFILENAME</keyword> <keyword>EMPTY_(B|C)LOB</keyword> </keyword-list> <keyword-list _name="Collection Functions" style="Function" case-sensitive="FALSE"> <keyword>CARDINALITY</keyword> <keyword>COLLECT</keyword> <keyword>POWERMULTISET(_BY_CARDINALITY)?</keyword> <!-- SET --> </keyword-list> <keyword-list _name="Hierarchical Function" style="Function" case-sensitive="FALSE"> <keyword>SYS_CONNECT_BY_PATH</keyword> </keyword-list> <keyword-list _name="Data Mining Functions" style="Function" case-sensitive="FALSE"> <keyword>CLUSTER_(ID|PROBABILITY|SET)</keyword> <keyword>FEATURE_(ID|SET|VALUE)</keyword> <keyword>PREDICTION</keyword> <keyword>PREDICTION_(COST|DETAILS|PROBABILITY|SET)</keyword> </keyword-list> <keyword-list _name="XML Functions" style="Function" case-sensitive="FALSE"> <keyword>(APPEND|INSERT)CHILDXML</keyword> <keyword>(DELETE|UPDATE)XML</keyword> <keyword>DEPTH</keyword> <keyword>EXISTSNODE</keyword> <keyword>EXTRACT(VALUE)?</keyword> <keyword>INSERTXMLBEFORE</keyword> <keyword>PATH</keyword> <keyword>SYS_DBURIGEN</keyword> <keyword>SYS_XML(AGG|GEN)</keyword> <keyword>XML(AGG|CDATA|COLATTVAL|COMMENT|CONCAT|ELEMENT|FOREST|PARSE|PI|QUERY|ROOT|SEQUENCE|SERIALIZE|TABLE|TRANSFORM)</keyword> </keyword-list> <keyword-list _name="Encoding and Decoding Functions" style="Function" case-sensitive="FALSE"> <keyword>DECODE</keyword> <keyword>DUMP</keyword> <keyword>ORA_HASH</keyword> <keyword>VSIZE</keyword> </keyword-list> <keyword-list _name="NULL-Related Functions" style="Function" case-sensitive="FALSE"> <keyword>COALESCE</keyword> <keyword>LNNVL</keyword> <keyword>NULLIF</keyword> <keyword>NVL2?</keyword> </keyword-list> <keyword-list _name="Environment and Identifier Functions" style="Function" case-sensitive="FALSE"> <keyword>SYS_CONTEXT</keyword> <keyword>SYS_GUID</keyword> <keyword>SYS_TYPEID</keyword> <keyword>UID</keyword> <keyword>USER</keyword> <keyword>USERENV</keyword> </keyword-list> <!-- Aggregate Functions --> <keyword-list _name="Aggregate Functions" style="Function" case-sensitive="FALSE"> <keyword>AVG</keyword> <!-- COLLECT: See "Collection Functions" --> <keyword>CORR(_(S|K))?</keyword> <keyword>COUNT</keyword> <keyword>COVAR_(POP|SAMP)</keyword> <keyword>CUME_DIST</keyword> <keyword>(DENSE|PERCENT)_RANK</keyword> <keyword>FIRST|LAST</keyword> <keyword>GROUP_ID</keyword> <keyword>GROUPING(_ID)?</keyword> <keyword>MAX|MIN</keyword> <keyword>MEDIAN</keyword> <keyword>PERCENTILE_(CONT|DISC)</keyword> <keyword>RANK</keyword> <keyword>REGR_(SLOPE|INTERCEPT|COUNT|R2|AVGX|AVGY|SXX|SYY|SXY)</keyword> <keyword>STATS_((BINOMIAL|F|KS|MW|WSR)_TEST|CROSSTAB|MODE|ONE_WAY_ANOVA|T_TEST_(ONE|PAIRED|INDEPU?))</keyword> <keyword>STDDEV|VARIANCE</keyword> <keyword>(STDDEV|VAR)_(POP|SAMP)</keyword> <keyword>SUM</keyword> </keyword-list> <!-- Analytic Functions --> <keyword-list _name="Analytic Functions" style="Function" case-sensitive="FALSE"> <keyword>AVG</keyword> <keyword>CORR</keyword> <keyword>COVAR_(POP|SAMP)</keyword> <keyword>COUNT</keyword> <keyword>CUME_DIST</keyword> <keyword>(DENSE|PERCENT)_RANK</keyword> <keyword>(FIRST|LAST)(_VALUE)?</keyword> <keyword>LAG</keyword> <keyword>LEAD</keyword> <keyword>MAX|MIN</keyword> <keyword>NTILE</keyword> <keyword>PERCENTILE_(CONT|DISC)</keyword> <keyword>RANK</keyword> <keyword>RATIO_TO_REPORT</keyword> <keyword>REGR_(SLOPE|INTERCEPT|COUNT|R2|AVGX|AVGY|SXX|SYY|SXY)</keyword> <keyword>ROW_NUMBER</keyword> <keyword>STDDEV|VARIANCE</keyword> <keyword>(STDDEV|VAR)_(POP|SAMP)</keyword> <keyword>SUM</keyword> </keyword-list> <!-- Object Reference Functions --> <keyword-list _name="Object Reference Functions" style="Function" case-sensitive="FALSE"> <keyword>DEREF</keyword> <keyword>MAKE_REF</keyword> <keyword>REF</keyword> <keyword>REFTOHEX</keyword> <keyword>VALUE</keyword> </keyword-list> <!-- Model Functions --> <keyword-list _name="Model Functions" style="Function" case-sensitive="FALSE"> <keyword>CV</keyword> <keyword>ITERATION_NUMBER</keyword> <keyword>PRESENT(NN)?V</keyword> <keyword>PREVIOUS</keyword> </keyword-list> <!-- Reserved Words --> <keyword-list _name="ANSI Reserved Words" style="Keyword" case-sensitive="FALSE"> <keyword>ADD</keyword> <keyword>ALL</keyword> <keyword>ALTER</keyword> <keyword>AND</keyword> <keyword>ANY</keyword> <keyword>AS</keyword> <keyword>ASC</keyword> <keyword>BETWEEN</keyword> <keyword>BY</keyword> <keyword>CASE</keyword> <!-- CHAR: See "Datatypes" --> <keyword>CHECK</keyword> <!-- CONNECT: See "SQL*Plus" --> <keyword>CREATE</keyword> <keyword>CROSS</keyword> <keyword>CURRENT</keyword> <!-- DATE: See "Datatypes" --> <keyword>DECIMAL</keyword> <keyword>DEFAULT</keyword> <keyword>DELETE</keyword> <!-- DESC: See "SQL*Plus" --> <keyword>DISTINCT</keyword> <keyword>DROP</keyword> <keyword>ELSE</keyword> <keyword>END</keyword> <keyword>FLOAT</keyword> <keyword>FOR</keyword> <keyword>FROM</keyword> <keyword>FULL</keyword> <keyword>GRANT</keyword> <keyword>GROUP</keyword> <keyword>HAVING</keyword> <keyword>IMMEDIATE</keyword> <keyword>IN</keyword> <keyword>INNER</keyword> <keyword>INSERT</keyword> <keyword>INTEGER</keyword> <keyword>INTERSECT</keyword> <keyword>INTO</keyword> <keyword>IS</keyword> <keyword>JOIN</keyword> <keyword>LEFT</keyword> <keyword>LEVEL</keyword> <keyword>LIKE</keyword> <keyword>NATURAL</keyword> <keyword>NOT</keyword> <!-- NULL: See "Literals" --> <keyword>OF</keyword> <keyword>ON</keyword> <keyword>OPTION</keyword> <keyword>OR</keyword> <keyword>ORDER</keyword> <keyword>OUTER</keyword> <keyword>PRIOR</keyword> <keyword>PRIVILEGES</keyword> <keyword>PUBLIC</keyword> <keyword>REVOKE</keyword> <keyword>RIGHT</keyword> <keyword>ROWS</keyword> <keyword>SELECT</keyword> <keyword>SESSION</keyword> <keyword>SET</keyword> <keyword>SIZE</keyword> <keyword>SMALLINT</keyword> <keyword>TABLE</keyword> <keyword>THEN</keyword> <keyword>TO</keyword> <keyword>UNION</keyword> <keyword>UNIQUE</keyword> <keyword>UPDATE</keyword> <keyword>USING</keyword> <!-- USER: See "Functions" --> <keyword>VALUES</keyword> <!-- VARCHAR: See "Datatypes" --> <keyword>VIEW</keyword> <keyword>WHEN</keyword> <!-- WHENEVER: See "SQL*Plus" --> <keyword>WITH</keyword> </keyword-list> <keyword-list _name="Oracle Reserved Words" style="Keyword" case-sensitive="FALSE"> <keyword>ACCESS</keyword> <keyword>AUDIT</keyword> <keyword>CLUSTER</keyword> <!-- COLUMN: See "SQL*Plus" --> <keyword>COMMENT</keyword> <keyword>COMPRESS</keyword> <keyword>CONNECT[ \t]+BY</keyword> <keyword>CUBE</keyword> <keyword>EXCLUSIVE</keyword> <keyword>EXISTS</keyword> <keyword>FILE</keyword> <keyword>GROUPING[ \t]+SETS</keyword> <keyword>IDENTIFIED</keyword> <keyword>INCREMENT</keyword> <keyword>INDEX</keyword> <keyword>INITIAL</keyword> <keyword>LOCK</keyword> <!-- LONG: See "Datatypes" --> <keyword>MAXEXTENTS</keyword> <keyword>MINUS</keyword> <keyword>MLSLABEL</keyword> <keyword>MODE</keyword> <keyword>MODIFY</keyword> <keyword>NOAUDIT</keyword> <keyword>NOCOMPRESS</keyword> <keyword>NOCYCLE</keyword> <keyword>NOWAIT</keyword> <!-- NUMBER: See "Datatypes" --> <keyword>OFFLINE</keyword> <keyword>ONLINE</keyword> <keyword>PCTFREE</keyword> <!-- RAW: See "Datatypes" --> <keyword>RENAME</keyword> <keyword>RESOURCE</keyword> <keyword>ROLLUP</keyword> <keyword>ROW</keyword> <!-- ROWID: See "Datatypes" --> <keyword>ROWNUM</keyword> <keyword>SHARE</keyword> <keyword>SIBLINGS</keyword> <!-- START: See "SQL*Plus" --> <keyword>START[ \t]+WITH</keyword> <keyword>SUCCESSFUL</keyword> <keyword>SYNONYM</keyword> <!-- SYSDATE: See "Functions" --> <keyword>TRIGGER</keyword> <!-- UID: See "Functions" --> <keyword>VALIDATE</keyword> <!-- VARCHAR2: See "Datatypes" --> <keyword>WHERE</keyword> </keyword-list> <keyword-list _name="SQL Statements" style="Keyword" case-sensitive="FALSE" match-empty-string-at-beginning="FALSE" beginning-regex="^[ \t]*"> <keyword>ALTER[ \t]+(CLUSTER|DATABASE|DIMENSION|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE|PROCEDURE|PROFILE|RESOURCE[ \t]+COST|ROLE|ROLLBACK[ \t]+SEGMENT|SEQUENCE|SESSION|SYSTEM|TABLE(SPACE)?|TRIGGER|TYPE|USER|VIEW)</keyword> <keyword>ANALYZE</keyword> <keyword>(DIS)?ASSOCIATE[ \t]+STATISTICS</keyword> <!-- AUDIT: See "Oracle Reserved Words" --> <keyword>CALL</keyword> <!-- COMMENT: See "Oracle Reserved Words" --> <keyword>COMMIT([ \t]+WORK)?</keyword> <keyword>CREATE[ \t]+(CLUSTER|CONTEXT|CONTROLFILE|DATABASE([ \t]+LINK)?|DIMENSION|DIRECTORY|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|LIBRARY|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE([ \t]+BODY)?|S?PFILE|PROCEDURE|PROFILE|RESTORE[ \t]+POINT|ROLE|ROLLBACK[ \t]+SEGMENT|SCHEMA|SEQUENCE|SYNONYM|TABLE(SPACE)?|TRIGGER|TYPE([ \t]+BODY)?|USER|VIEW)</keyword> <!-- DELETE: See "ANSI Reserved Words" --> <keyword>DROP[ \t]+(CLUSTER|CONTEXT|DATABASE([ \t]+LINK)?|DIMENSION|DIRECTORY|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|LIBRARY|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE|PROCEDURE|PROFILE|RESTORE[ \t]+POINT|ROLE|ROLLBACK[ \t]+SEGMENT|SEQUENCE|SYNONYM|TABLE(SPACE)?|TRIGGER|TYPE([ \t]+BODY)?|USER|VIEW)</keyword> <keyword>EXPLAIN[ \t]+PLAN</keyword> <keyword>FLASHBACK[ \t]+(DATABASE|TABLE)</keyword> <!-- GRANT: See "ANSI Reserved Words" --> <!-- INSERT: See "ANSI Reserved Words" --> <keyword>LOCK[ \t]+TABLE</keyword> <keyword>MERGE</keyword> <!-- NOAUDIT: See "Oracle Reserved Words" --> <keyword>PURGE</keyword> <!-- RENAME: See "Oracle Reserved Words" --> <!-- REVOKE: See "ANSI Reserved Words" --> <keyword>ROLLBACK</keyword> <keyword>SAVEPOINT</keyword> <!-- SELECT: See "ANSI Reserved Words" --> <keyword>SET[ \t]+CONSTRAINTS?</keyword> <keyword>SET[ \t]+ROLE</keyword> <keyword>SET[ \t]+TRANSACTION</keyword> <keyword>TRUNCATE</keyword> <!-- UPDATE: See "ANSI Reserved Words" --> </keyword-list> <keyword-list _name="Operators" style="Keyword" case-sensitive="FALSE"> <!-- PRIOR: See "ANSI Reserved Words" --> <keyword>CONNECT_BY_ROOT</keyword> <!-- UNION: See "ANSI Reserved Words" --> <!-- UNION ALL: See "ANSI Reserved Words" --> <!-- INTERSECT: See "ANSI Reserved Words" --> <!-- MINUS: See "Oracle Reserved Words" --> <keyword>MULTISET[ \t]+(EXCEPT|INTERSECT|UNION)</keyword> </keyword-list> <keyword-list _name="Conditions" style="Keyword" case-sensitive="FALSE"> <!-- ANY: See "ANSI Reserved Words" --> <keyword>SOME</keyword> <!-- ALL: See "ANSI Reserved Words" --> <keyword>IS[ \t]+(NOT[ \t]+)?(NAN|INFINITE)</keyword> <!-- AND: See "ANSI Reserved Words" --> <!-- OR: See "ANSI Reserved Words" --> <!-- NOT: See "ANSI Reserved Words" --> <!-- BETWEEN: See "ANSI Reserved Words" --> <keyword>IS[ \t]+(NOT[ \t]+)?NULL</keyword> <keyword>(EQUALS|UNDER)_PATH</keyword> <!-- EXISTS: See "Oracle Reserved Words" --> <keyword>(NOT[ \t]+)?IN</keyword> <keyword>IS[ \t]+(NOT[ \t]+)?A[ \t]+SET</keyword> <!-- IS ANY: See "ANSI Reserved Words" --> <keyword>IS[ \t]+(NOT[ \t]+)?EMPTY</keyword> <keyword>IS[ \t]+(NOT[ \t]+)?OF([ \t]+TYPE)?</keyword> <keyword>IS[ \t]+PRESENT</keyword> <keyword>(NOT[ \t]+)?LIKE(C|2|4)?</keyword> <keyword>(NOT[ \t]+)?MEMBER([ \t]+OF)?</keyword> <keyword>REGEXP_LIKE</keyword> <keyword>(NOT[ \t]+)?SUBMULTISET([ \t]+OF)?</keyword> </keyword-list> <!-- SQL*Plus --> <pattern-item _name="SQL*Plus At Sign" style="Preprocessor"> <regex>^[ \t]*@</regex> </pattern-item> <pattern-item _name="SQL*Plus Double At Sign" style="Preprocessor"> <regex>^[ \t]*@@</regex> </pattern-item> <pattern-item _name="SQL*Plus Slash" style="Preprocessor"> <regex>^[ \t]*/</regex> </pattern-item> <keyword-list _name="SQL*Plus Commands" style="Preprocessor" case-sensitive="FALSE" match-empty-string-at-beginning="FALSE" beginning-regex="^[ \t]*"> <keyword>ACC(EPT)?</keyword> <keyword>A(PPEND)?</keyword> <keyword>ARCHIVE[ \t]LOG</keyword> <keyword>ATTRIBUTE</keyword> <keyword>BRE(AK)?</keyword> <keyword>BTI(TLE)?</keyword> <keyword>C(HANGE)?</keyword> <keyword>CL(EAR)?</keyword> <keyword>COL(UMN)?</keyword> <keyword>COMP(UTE)?</keyword> <keyword>CONN(ECT)?</keyword> <keyword>COPY</keyword> <keyword>DEF(INE)?</keyword> <keyword>DEL</keyword> <keyword>DESC(RIBE)?</keyword> <keyword>DISC(ONNECT)?</keyword> <keyword>ED(IT)?</keyword> <keyword>EXEC(UTE)?</keyword> <keyword>EXIT|QUIT</keyword> <keyword>GET</keyword> <keyword>HELP</keyword> <keyword>HO(ST)?</keyword> <keyword>I(NPUT)?</keyword> <keyword>L(IST)?</keyword> <keyword>PASSW(ORD)?</keyword> <keyword>PAU(SE)?</keyword> <keyword>PRI(NT)?</keyword> <keyword>PRO(MPT)?</keyword> <!-- QUIT: See "EXIT" --> <keyword>RECOVER</keyword> <keyword>REM(ARK)?</keyword> <keyword>REPF(OOTER)?</keyword> <keyword>REPH(EADER)?</keyword> <keyword>R(UN)?</keyword> <keyword>SAV(E)?</keyword> <keyword>SET[ \t]+(APPI(NFO)?|ARRAY(SIZE)?|AUTO(COMMIT)?|AUTOP(RINT)?|AUTORECOVERY|AUTOT(RACE)?|BLO(CKTERMINATOR)?|CMDS(EP)?|COLSEP|COM(PATIBILITY)?|CON(CAT)?|COPYC(OMMIT)?|COPYTYPECHECK|DEF(INE)?|DESCRIBE|ECHO|EDITF(ILE)?|EMB(EDDED)?|ESC(APE)?|FEED(BACK)?|FLAGGER|FLU(SH)?|HEA(DING)?|HEADS(EP)?|INSTANCE|LIN(ESIZE)?|LOBOF(FSET)?|LOGSOURCE|LONG|LONGC(HUNKSIZE)?|MARK(UP)?|NEWP(AGE)?|NULL|NUMF(ORMAT)?|NUM(WIDTH)?|PAGES(IZE)?|PAU(SE)?|RECSEP|RECSEPCHAR|SERVEROUT(PUT)?|SHIFT(INOUT)?|SHOW(MODE)?|SQLBL(ANKLINES)?|SQLC(ASE)?|SQLCO(NTINUE)?|SQLN(UMBER)?|SQLPLUSCOMPAT(IBILITY)?|SQLPRE(FIX)?|SQLP(ROMPT)?|SQLT(ERMINATOR)?|SUF(FIX)?|TAB|TERM(OUT)?|TI(ME)?|TIMI(NG)?|TRIM(OUT)?|TRIMS(POOL)?|UND(ERLINE)?|VER(IFY)?|WRA(P)?)</keyword> <!-- SET ROLE and SET TRANSACTION are SQL commands. When not followed by the keywords TRANSACTION or ROLE, SET is assumed to be a SQL*Plus command. --> <keyword>SHO(W)?</keyword> <keyword>SHUTDOWN</keyword> <keyword>SPO(OL)?</keyword> <keyword>STA(RT)?</keyword> <keyword>STARTUP</keyword> <keyword>STORE</keyword> <keyword>TIMI(NG)?</keyword> <keyword>TTI(TLE)?</keyword> <keyword>UNDEF(INE)?</keyword> <keyword>VAR(IABLE)?</keyword> <keyword>WHENEVER[ \t]+(OS|SQL)ERROR</keyword> </keyword-list> </language>